1. Field of the Invention
The invention relates to a bus host controller and, more particularly, to a bus host controller for electronic devices.
2. Description of the Related Art
Electronic systems, such as computer systems, are very important in modern information society. Various electronic devices are integrated into the electronic system, and different electronic devices are coupled together via buses to transfer data and cooperate with each other. For example, a host and peripheral devices in the computer system are different devices and they may be coupled to each other via buses of universal serial bus (USB) specification.
In order to manage data transferring at the bus, a bus host controller is disposed at the host electronic device, and other electronic devices can be regarded as terminal devices of the bus. The bus host controller manages the data transferring sequence in unit of a frame interval. Data transferred from the host electronic device to other electronic devices are carried in data packets and the data packets are sent out in the frame interval of the sequence.
The terminal devices can be divided into periodic terminal devices and non-periodic terminal devices according to functions and operation features. The periodic terminal devices keep a periodic synchronized transferring with the bus host controller. For example, the periodic terminal devices may be multi-media relating devices (such as music or video players or recorders), and they need to receive media data from the host electronic device periodically to keep smooth play of the multi-media. Moreover, a bus hub is also a periodic terminal device. Some terminal devices focus on precision of data transferring, and they are the non-periodic terminal devices. Various non-volatile peripher storage aldevices, such as an external hardware drive, an optical disk drive, a flash memory or a card reader, are the non-periodic terminal devices.
Conventionally, the bus host controller transfers start-of-frame (SOF) packets periodically according to a constant frame period (such as 125 μs, 1 μs equals to one millionth of one second), and each of the SOF packets indicates a boundary of a frame interval. The SOF packet can be regarded as a synchronization reference point for the periodic terminal device. Furthermore, the bus host controller uses the SOF packet to detect whether the terminal device is removed and not coupled to the bus. When the bus host controller transfers the SOF packet to the terminal device, if a strong reflection is received, it means the terminal device is removed. The SOF packet also can prevent the terminal device from entering a suspend state.
In contrast to the data packet which carries data, the SOF packet is only used for link management of the bus, and it does not carry data. Thus, the SOF packet transferring affects the data packet transferring, and they are exclusive to each other. In conventional technology, no matter the terminal device is a periodic device or not, when the SOF packet transferring has collision with the data packet transferring, the bus host controller transfers the SOF packet in priority. That means, when an SOF packet is to be sent at a time point “t”, any data packet transferring which spans the time point “t” is delayed (or canceled), so as to transfer the SOF packet in priority. As a result, efficiency of the data packet transferring is affected and bandwidth utilization rate of the bus is decreased.